#ifndef _FINDAMMO_H
#define _FINDAMMO_H

#include <global.h>
using namespace cv;
using namespace std;

class FindAmmo
{
  public:
    FindAmmo();
    int getAmmo(Mat frame);

  protected:
  int ROI_Y_UP = 0 ,ROI_Y_DOWN = 480;
    vector<Point2f> Points(vector<KeyPoint> keypoints, Point2f bias);
    void ReleaseAll();
    void DetectNothing();
    vector<KeyPoint> kp42, kpMix17, kpMix42, //模板图片的特征点
        kpFrame,                             //当前图片的特征点
        matchTmplt, matchFrame,              //匹配成功的特征点
        inliersTmplt, inliersFrame;       //符合变换矩阵的特征点
    Mat desc42, dscMix42, dscMix17,           //模板图片的特征点描述
        dscFrame,                            //当前图片的特征点描述
        //frame,                               //当前图片
        img2;
    Ptr<AKAZE> akaze = AKAZE::create();      //特征点检测器
    vector<vector<DMatch>> nn_matches;       //匹配连接
    vector<DMatch> inlier_matches;           //符合变换矩阵的匹配连接
    BFMatcher matcher;                       //匹配器
    Rect ROI = Rect(Point(0, ROI_Y_UP), Point(640, ROI_Y_DOWN));
    int KP42_CNT, KPMIX17_CNT, KPMIX42_CNT;

  private:
};

#endif